package com.ysx.oa.teacher.service;
import com.ysx.oa.clazz.bean.ClazzBean;
import com.ysx.oa.clazz.bean.ClazzStudentTeacherBean;
import com.ysx.oa.clazz.dao.ClazzStudentTeacherDao;
import com.ysx.oa.delay.bean.DelayBean;
import com.ysx.oa.role.bean.RoleBean;
import com.ysx.oa.teacher.bean.TeacherBean;
import com.ysx.oa.teacher.dto.MyDto;
import com.ysx.oa.user.bean.UserBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * @author 袁海华
 * @date 2021/11/23 9:31
 */
public interface TeacherService {
    /**
     * 方法描述:增加一个老师
     * @author: 袁海华
     * @date: 2021/11/23 15:05
     * @param: [teacherId]
     * @return:List<DelayBean>
     */
    int add(TeacherBean teacherBean);
    /**
     * 方法描述:根据老师ID删除一个一个
     * @author: 袁海华
     * @date: 2021/11/23 15:05
     * @param: [teacherId]
     * @return:List<DelayBean>
     */
    int deleteById(Integer teacherId);
    /**
     * 方法描述:根据老师ID更新老师资料
     * @author: 袁海华
     * @date: 2021/11/23 15:05
     * @param: [teacherId]
     * @return:List<DelayBean>
     */
    int updateById(TeacherBean teacherBean);
    /**
     * 方法描述:根据老师ID查找老师
     * @author: 袁海华
     * @date: 2021/11/23 15:05
     * @param: [teacherId]
     * @return:List<DelayBean>
     */
    TeacherBean findById(Integer teacherId);
    /**
     * 方法描述:根据老师ID查看该老师迟到学生的学号名单
     * @author: 袁海华
     * @date: 2021/11/23 15:05
     * @param: [teacherId]
     * @return:List<DelayBean>
     */
    List<DelayBean> findLateStudentInforByTeacherId(Integer teacherId);
    /**
     * 方法描述:根据老师ID查找该老师的全部学生
     * @author: 袁海华
     * @date: 2021/11/23 15:05
     * @param: [teacherId]
     * @return:List<DelayBean>
     */
    List<Integer> findStudentIdByTeacherId(Integer teacherId);
    /**
     * 方法描述:根据老师ID更新老师信息
     * @author: 袁海华
     * @date: 2021/11/23 15:05
     * @param: [teacherId]
     * @return:List<DelayBean>
     */
    int updateTeacherInforByTeacherId(UserBean userBean);
    /**
     * 方法描述:根据老师ID查看迟到学生情况
     * @author: 袁海华
     * @date: 2021/11/23 15:05
     * @param: [teacherId]
     * @return:List<DelayBean>
     */
//    int addClazzByTeacherId(TeacherBean teacherBean);

//    int addStudentByTeacherId(Integer teacherId);

//    ArrayList<QuestionEntity> findQuestionsByTeacherId(Integer teacherId);

    /**
     * 方法描述:根据角色Id查看全部老师
     * @author: 袁海华
     * @date: 2021/11/24 13:55
     * @param: [roleId]
     * @return:
     */
    List<Integer> findAllTeacherIdByRoleId(Integer roleId);

    int addClazzByTeacherId(ClazzStudentTeacherBean clazzStudentTeacherBean);

    List<UserBean> findStudentOrTeacherByNotClass(@Param("roleBean") RoleBean roleBean);

    List<MyDto>findTeacherInforByClazzType(Integer type);




}
